package com.hundsun.yr.universal.p2p.ui.activity;

import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;

import com.hundsun.mobile.zwgt.R;
import com.hundsun.yr.universal.library.eventbus.EventCenter;
import com.hundsun.yr.universal.library.netstatus.NetUtils;
import com.hundsun.yr.universal.library.utils.MathUtils;
import com.hundsun.yr.universal.library.widget.HSButton;
import com.hundsun.yr.universal.library.widget.HSEditText;
import com.hundsun.yr.universal.p2p.ui.activity.base.BaseActivity;
import com.hundsun.yr.universal.p2p.utils.CommTool;

/**
 * Created by xx on 2017/7/19.
 */
public class YearRateActivity extends BaseActivity implements View.OnClickListener{
    private HSEditText hset_min_year_rate;
    private HSEditText hset_max_year_rate;
    private HSButton btn_sure;
    private int SETTINGYEARRATE = 5;

    private String minrate;
    private String maxrate;

    @Override
    protected boolean isApplyKitKatTranslucency() {
        return true;
    }

    @Override
    protected int getContentViewLayoutID() {
        return R.layout.act_yearrate;
    }

    @Override
    protected void initViewsAndEvents() {
        findView();
        toolbar_title.setText(getString(R.string.expected_interestrate));
        btn_sure.setOnClickListener(this);
        hset_min_year_rate.addTextChangedListener(textWatcher1);
        hset_max_year_rate.addTextChangedListener(textWatcher2);
    }

    public void findView(){
        hset_min_year_rate = findView(R.id.hset_min_year_rate);
        hset_max_year_rate = findView(R.id.hset_max_year_rate);
        btn_sure = findView(R.id.btn_sure);

        hset_min_year_rate.setText(CommTool.formart1(Double.valueOf(minrate).doubleValue()));
        hset_max_year_rate.setText(CommTool.formart1(Double.valueOf(maxrate).doubleValue()));
    }

    @Override
    protected void getBundleExtras(Bundle extras) {
        minrate = extras.getString("minrate");
        maxrate = extras.getString("maxrate");
    }

    @Override
    protected void onEveComming(EventCenter eventCenter) {

    }

    @Override
    protected boolean isBindEventBusHere() {
        return false;
    }

    @Override
    protected View getLoadingTargetView() {
        return null;
    }

    @Override
    protected void onNetworkConnected(NetUtils.NetType type) {

    }

    @Override
    protected void onNetworkDisConnected() {

    }

    @Override
    protected boolean isApplyStatusBarTranslucency() {
        return true;
    }

    @Override
    protected boolean toggleOverridePendingTransition() {
        return false;
    }

    @Override
    protected TransitionMode getOverridePendingTransitionMode() {
        return null;
    }

    @Override
    public void onClick(View view) {
        if (!NetUtils.isNetworkConnected(mContext)){
            showToast(R.string.common_no_network);
            return;
        }

        switch (view.getId()){
            case R.id.btn_sure:
                String minrate = hset_min_year_rate.getText().toString();
                String maxrate = hset_max_year_rate.getText().toString();

                if (minrate.isEmpty()){
                    showToast("请输入最小年利率");
                    return;
                }

                if (maxrate.isEmpty()){
                    showToast("请输入最大年利率");
                    return;
                }

                if (MathUtils.compare(minrate,"7") < 0){
                    showToast("最小年利率为7");
                    return;
                }

                if (MathUtils.compare(maxrate,"15") > 0){
                    showToast("最大年利率为15");
                    return;
                }

                if (MathUtils.compare(minrate,maxrate) > 0){
                    showToast("您输入的最小年利率大于最大年利率");
                    return;
                }

                Intent intent = getIntent();
                intent.putExtra("minrate",minrate);
                intent.putExtra("maxrate",maxrate);
                setResult(SETTINGYEARRATE,intent);
                finish();
                break;
        }
    }

    TextWatcher textWatcher1 = new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
// TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
//这部分是处理如果输入框内小数点后有俩位，那么舍弃最后一位赋值，光标移动到最后
            if (s.toString().contains(".")) {
                if (s.length() - 1 - s.toString().indexOf(".") >1) {

                    hset_min_year_rate.setText(s.toString().subSequence(0,
                            s.toString().indexOf(".") +2));

                    hset_min_year_rate.setSelection(s.toString().trim().length()-1
                    );
                }
            }
//这部分是处理如果用户输入以.开头，在前面加上0
            if (s.toString().trim().substring(0).equals(".")) {

                hset_min_year_rate.setText("0"+s);
                hset_min_year_rate.setSelection(2);
            }
            //这里处理用户 多次输入.的处理 比如输入 1..6的形式，是不可以的
            if (s.toString().startsWith("0")
                    && s.toString().trim().length() > 1) {
                if (!s.toString().substring(1, 2).equals(".")) {
                    hset_min_year_rate.setText(s.subSequence(0, 1));
                    hset_min_year_rate.setSelection(1);
                    return;
                }
            }
        }
    };

    TextWatcher textWatcher2 = new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
// TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
//这部分是处理如果输入框内小数点后有俩位，那么舍弃最后一位赋值，光标移动到最后
            if (s.toString().contains(".")) {
                if (s.length() - 1 - s.toString().indexOf(".") >1) {

                    hset_max_year_rate.setText(s.toString().subSequence(0,
                            s.toString().indexOf(".") +2));

                    hset_max_year_rate.setSelection(s.toString().trim().length()-1
                    );
                }
            }
//这部分是处理如果用户输入以.开头，在前面加上0
            if (s.toString().trim().substring(0).equals(".")) {

                hset_max_year_rate.setText("0"+s);
                hset_max_year_rate.setSelection(2);
            }
            //这里处理用户 多次输入.的处理 比如输入 1..6的形式，是不可以的
            if (s.toString().startsWith("0")
                    && s.toString().trim().length() > 1) {
                if (!s.toString().substring(1, 2).equals(".")) {
                    hset_max_year_rate.setText(s.subSequence(0, 1));
                    hset_max_year_rate.setSelection(1);
                    return;
                }
            }
        }
    };


}
